<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
   xmlns:atom="http://www.w3.org/2005/Atom">
<% base_url = "https://melpa.org/" %>
  <channel>
    <title>MELPA package updates</title>
    <link>https://melpa.org</link>
    <atom:link href="<%= base_url %>updates.rss" rel="self" type="application/rss+xml" />
    <language>en-us</language>
    <ttl>40</ttl>
    <description>News about package updates</description>
    <%
      require 'json'
      require 'time'
      require 'ostruct'
      packages = JSON.parse(File.read("archive.json")).map do |pkgname, info|
        versions = info["ver"]
        deps = info["deps"]
        descr = info["desc"]
        pkgtype = info["type"]
        version = versions.join('.')
        package = OpenStruct.new
        package.name = pkgname
        package.version = version
        package.description = descr.gsub(/ \[source:.*$/, '')
        begin
        hour_portion = versions[1] ? sprintf("%04d", versions[1]) : "0000"
        package.build_time = Time.new(version[0..3].to_i, version[4..5].to_i, version[6..7].to_i, hour_portion[0..1].to_i, hour_portion[2..3].to_i)
        rescue ArgumentError
        package.build_time = Time.now()
        end
        package.url = "#{base_url}packages/#{pkgname}-#{version}." + (pkgtype == "single" ? "el" : "tar")
        package.info_url = "#{base_url}#/#{pkgname}"
        package
      end
      packages.sort_by { |p| p.version }.reverse[0..200].each do |package|
    %>
      <item>
        <title><%= package.name %> (<%= package.version %>) --- <%= ERB::Util.html_escape package.description %></title>
        <description>The <%= package.name %> package in MELPA has been updated to version <%= package.version %>.</description>
        <pubDate><%= package.build_time.rfc822 %></pubDate>
        <guid isPermaLink="true"><%= package.url %></guid>
        <link><%= package.info_url %></link>
      </item>
    <% end %>
  </channel>
</rss>
